async function async1() {
  console.log('1');
  await async2();
  // 微任务1
  setTimeout(function() {   // 宏任务3
      console.log('2') 
  },0)
}
async function async2() {
  setTimeout(function() {  // 宏任务2
      console.log('3')
  },0)
}
console.log('8');
setTimeout(function() {    // 宏任务1
  console.log('4');
}, 0)
async1();
new Promise(function(resolve) {
  console.log('5');
  resolve();
}).then(function() { //
  console.log('6');
});
console.log('7');

